package com.yy.permissions_general.module.system.file.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yy.permissions_general.module.system.file.entity.File;
import com.yy.permissions_general.utils.eleTree.EleTreeVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * <p>
 * 附件 服务类
 * </p>
 *
 * @author YY
 * @since 2021-12-20
 */
public interface FileService extends IService<File> {

    /**
    * 分页查询列表
    * @param file
    * @return
    */
    Page<File> selectPageList(File file, int limit, int page);

    /**
    * 新增数据
    * @param multipartFile
    * @param file
    */
    boolean addFile(MultipartFile[] multipartFile,File file);

    /**
    * 修改数据
    * @param file
    */
    int editFile(File file);

    /**
    * 查看详情
    * @param id
    * @return
    */
    File getDetailsById(Integer id);

    /**
    * 删除数据
    * @param id
    * @return
    */
    int deleteById(Integer id);

    /**
    * 批量删除
    * @param ids
    * @return
    */
    int deleteBatch(List<Long> ids);

    /**
     * 新建文件夹
     * @param file
     * @return
     */
    int addFolder(File file);

    /**
     * 重命名文件夹
     * @param file
     * @return
     */
    int editFolder(File file);

    /**
     *
     * @param parentId
     * @return
     */
    List<EleTreeVo> getFileTree(Integer parentId);
}

